package org.dromara.cloud.gift.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;

/**
 * 云礼账本系统中的宴席表，用于记录各类宴席的相关信息
 * @TableName clzb_banquet
 */
@TableName(value ="clzb_banquet")
@Data
public class ClzbBanquet {
    /**
     * 宴席表的唯一编号，系统自动生成，用于标识每条宴席记录
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 创建该宴席记录的用户编号，关联用户表中的用户编号
     */
    private Long creatorId;

    /**
     * 本次宴席的名称，如婚礼、生日宴等
     */
    private String banquetName;

    /**
     * 对该宴席的详细描述，例如宴席的特色、相关活动等
     */
    private String description;

    /**
     * 宴席举办的具体日期和时间，精确到时分秒
     */
    private Date banquetTime;

    /**
     * 宴席对应的农历日期，以字符串形式存储
     */
    private String lunarBanquetTime;

    /**
     * 宴席持续的天数
     */
    private Integer banquetDays;

    /**
     * 存储账本照片的相关信息，可能是照片的链接数组
     */
    private Object ledgerPhotos;

    /**
     * 参与礼金分配的人员相关信息，例如：{姓名,分配总礼金,分配嘉宾总数}
     */
    private Object giftMoneyDistributors;

    /**
     * 参与礼金分配的人员总数
     */
    private Integer totalDistributors;

    /**
     * 本次宴席收到的礼物的总数
     */
    private Integer totalGifts;

    /**
     * 本次宴席收到的礼金总和，精确到小数点后两位
     */
    private BigDecimal totalGiftMoney;

    /**
     * 参加本次宴席的嘉宾总人数
     */
    private Integer totalGuests;

    /**
     * 礼金分配人员的详细信息，如分配比例、应得金额等组成的数组或对象
     */
    private Object distributorInfo;

    /**
     * 该宴席记录的创建时间，系统自动记录
     */
    private Date createTime;

    /**
     * (标签) 用于标记宴席的相关标签，多个标签可使用特定分隔符分隔
     */
    private String tags;
}